Providing a model of a vehicle to a rider at an accurate orientation

ABSTRACT

Systems and methods are disclosed herein for providing a model of a vehicle to a rider. In an embodiment, the systems and methods determine that a driver has accepted a task to operate a vehicle from a first location to a rider location. The systems and methods then access a model corresponding to the vehicle, determine a direction of movement of the vehicle, and determine a relative orientation of the vehicle with respect to the rider based on the first location, the direction of movement of the vehicle, and the rider location. The systems and methods generate for display, on a client device of the rider, the model at an angle determined based on the relative orientation.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of co-pending U.S. application Ser.No. 16/718,031, filed Dec. 17, 2019, which claims the benefit of U.S.Provisional Application No. 62/839,512, filed Apr. 26, 2019, which ishereby incorporated in its entirety by reference.

TECHNICAL FIELD

The present disclosure relates to display of a model, and in particularto orienting the model to an angle consistent with a positioning of thereal-world object being modeled relative to a user.

BACKGROUND

Existing tools for assisting a rider to identify a vehicle in which theyare to enter to travel to a requested destination are limited to showingthe name of a make, model, and color of the vehicle, a license platenumber of the vehicle, and a generic picture of the vehicle. From apractical standpoint, these existing tools are inadequate to validate toa rider that the rider is entering a correct vehicle, as some vehiclesare so commonplace, or generic looking, that there may be two or moresimilar or identical models adjacent to one another, and a rider maymake a mistake as to which one is the correct vehicle. Moreover, thegeneric picture is typically from a side angle; however, vehicles oftenapproach riders with only the front of the vehicle visible to the rider,thus rendering the side angle of the generic picture unusable tovalidate that a correct vehicle has approached the rider. From atechnical standpoint, the existing systems rely on generic pictures atleast partially because the storage space to store unique photographsfrom multiple angles of every driver's vehicle would be prohibitive, aswould the bandwidth requirements to separately transmit these uniquephotographs to riders each time the rider is connected with a givenvehicle.

SUMMARY

Systems and methods are disclosed herein for generating, and providingto a user, a model of a vehicle that accurately represents the vehicle.For example, a model (e.g., a 3D model) may be initially constructedfrom a generic model associated with a make, model, and color of avehicle. A driver of the vehicle may be prompted to capture images ofthe vehicle from multiple angles. A service may extract distinguishingfeatures of the vehicle from the photographs (e.g., bumper stickers,dents, etc.), and may store those distinguishing features. When a riderconnects with a driver and wishes to view an image of the vehicle, theservice may output the model, and may overlay the model with thedistinguishing features. Moreover, the model may be provided to therider at an angle that matches the rider's view of the car (e.g., afront of the car may be shown to the rider if the vehicle is approachingthe rider head-on), to ease the rider's ability to verify that thecorrect vehicle is approaching.

To this end and others, in an embodiment, a service may determine that adriver has accepted a task to operate a vehicle from a first location toa rider location. The service may access a model corresponding to thevehicle (e.g., a generic 3D model corresponding to the make, model, andcolor of the vehicle). The service may determine a direction of movementof the vehicle, and may determine the relative orientation of thevehicle with respect to the rider based on the first location, thedirection of movement of the vehicle, and the rider location (e.g., todetermine what angle of the 3D model to display to the user (andadditionally, a scale to which the 3D model should be displayed). Theservice may output (e.g., on a display of a client device of the rider),the model at an angle determined based on the relative orientation. Thedisplayed model may be shown to the user at the same angle that therider is oriented with respect to the vehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a model generation service,according to one embodiment.

FIGS. 2A-2D show an illustration of an exemplary model from variousperspectives, according to one embodiment.

FIG. 3 is an illustration of an exemplary manner for selecting aperspective of the model to output, according to one embodiment.

FIG. 4 is an illustration of an exemplary user interface for an operatorof a vehicle, according to one embodiment.

FIG. 5 is an illustrative flowchart of a process for outputting themodel for display, according to one embodiment.

FIG. 6 is a block diagram that illustrates a computer system, accordingto one embodiment.

The figures depict various embodiments for purposes of illustrationonly. One skilled in the art will readily recognize from the followingdiscussion that alternative embodiments of the structures and methodsillustrated herein may be employed without departing from the principlesof the invention described herein.

DETAILED DESCRIPTION System Environment

FIG. 1 is a block diagram illustrating a model generation service,according to one embodiment. System 100 includes vehicle 110, which maybe carrying a client device. The client device may include a camerasensor and/or a display that may accept user input. The client devicemay be a mobile device (e.g., a smartphone of an operator of thevehicle), or a peripheral device (e.g., a beacon affixed to vehicle 110,a dashcam, etc.). The functionality of client devices is described infurther detail with respect to FIG. 6 below.

The operator (interchangeably used herein with the term “driver”) ofvehicle 110 may operate a client device that executes an application,such as a ridesharing application. In the context of the ridesharingapplication, a rider (e.g., rider 115) may request a ride from the rider115's current location to a desired destination, and where rider 115 maybe connected to the driver of vehicle 110 who also uses the ridesharingapplication on his or her client device, where the driver will providethe ride. The driver of vehicle 110 may be connected to rider 115 basedon the driver accepting a request from rider 115 by way of a userinterface offered to the driver by way of the client device of thedriver.

Requests from rider 115, acceptances from the driver of vehicle 110, andother data transmissions may be transmitted over network 120. Network120 is described in further detail below. Service 130 may act as anintermediary between rider 115 and the driver of vehicle 110, receivingand processing requests and confirmations from various riders anddrivers to confirm that operators of vehicles are assigned to aparticular task, and to confirm to riders that their requested task isaccepted and assigned. Service 130, in addition to acting as a back endfor a ridesharing application, may provide additional information to anoperator of vehicle 110 and/or to rider 115. In particular, as will bedescribed below with respect to FIGS. 2-5, service 130 may provide amodel of vehicle 110 to rider 115, and/or to the operator of vehicle110.

As used herein, the term model may refer to a two-dimensional orthree-dimensional representation of a vehicle, such as vehicle 110. Themodel may include distinctive features of a vehicle, such as bumperstickers, dents, scratches, lighting, and the like, that differentiatethe vehicle from other vehicles of the same make and type by themanufacturer of the vehicle. In some embodiments, in connection withgenerating the model, service 130 may prompt an operator of vehicle 110,in the context of the ridesharing application, to take one or morephotographs and/or videos of vehicle 110 from one or more perspectives.For example, service 130 may prompt the operator to capture photos orvideo while walking around the entire perimeter of vehicle 110. Service130 may receive the photos and/or video(s) from the client device of theoperator by way of network 120.

Service 130 may process the photos and/or videos to detect and extractdistinctive features of vehicle 110 from the photos and/or videos. Forexample, service 130 may prompt the operator of vehicle 110 to identifythe make and type of the vehicle (e.g., indicate brand manufacturer,model number, vehicle identification number, color, year, etc.). Service130 may, based on the input of the operator, retrieve, from vehiclemodel database 132, a model of a generic version of the identified typeof vehicle (“generic model”). The generic model may be athree-dimensional model, or one or more images that illustrate one ormore perspectives of the vehicle. The generic model, or portions thereof(e.g., still two-dimensional frames of a rotatable three-dimensionalmodel), may be used as a template for comparison against the photosreceived from the operator of vehicle 110, where service 130 detectsdistinctive features based on portions of the photos that depart fromthe generic model. For example, service 130 may detect that a bumpersticker, scratch, dent, or animated seat cover departs from the genericmodel because it does not match the template. Service 130 mayresponsively extract the distinctive feature(s), and store thedistinctive features in distinctive features database 134.

When extracting the distinctive features, service 130 may extract bothan image of the distinctive feature and coordinates of where thedistinctive feature sits on vehicle 110 relative to a landmark (e.g.,relative to a window, bumper, door handle, etc.) of the generic model.Thus, service 130 may save storage space of distinctive featuresdatabase 134, as well as latency, bandwidth, and processing power forreconstructing an image of a perspective of vehicle 110, by only needingto retrieve a vector with the distinctive feature itself and where itsits on the generic model. Service 130 may thus provide the model byreconstructing the model of vehicle 110 using the coordinates, theimage, and the generic model retrieved from vehicle model database 132.Alternatively, service 130 may save an entire perspective of the vehicle(e.g., a right side view of vehicle 110) and stitch that entireperspective to a generic model retrieved from vehicle model database 132to provide the model.

Vehicle Model Description

FIGS. 2A-2D show an illustration of an exemplary model from variousperspectives, according to one embodiment. FIG. 2A-2D depict vehicle 210at varying angles, with examples of distinctive features. Vehicles210A-210D carry the same weight and description of vehicle 110. As shownin FIG. 2A, vehicle 210A is depicted from a side view, where dent 220Aappears on the side of vehicle 210A. As shown in FIG. 2B, vehicle 220Bis depicted from a front view, where sticker 220B appears on thedashboard of vehicle 210B. As shown in FIG. 2C, vehicle 210C is depictedfrom an opposite side view, where custom paint 220C appears on the sideof vehicle 210C. As shown in FIG. 2D, vehicle 210D is depicted from arear view, where bumper sticker 220D appears on the rear bumper ofvehicle 210D. In some embodiments, the model may be shown to rider 115or the operator of vehicle 110 using two-dimensional views correspondingto FIGS. 2A-2D, where a user may toggle through the views (e.g., byinteracting with “left”, “right”, “front”, and “back” selectableoptions). In some embodiments, the model may be a three-dimensionalmodel that may be shown to rider 115 or the operator of vehicle 110using the views corresponding to FIGS. 2A-2D with three-dimensionaldepth. Additionally or alternatively, the model may be rotatable by auser, so that vehicle 210 can be viewed from any angle by rotating themodel (e.g., by making a left-to-right swipe gesture, or vice-versa,over the model).

Exemplary Selection of Initial Model Orientation

FIG. 3 is an illustration of an exemplary manner for selecting aperspective of the model to output, according to one embodiment.Environment 300 includes vehicle 310 and rider 315, which correspond tovehicle 110 and rider 115, respectively. As depicted, a driver ofvehicle 310 may have accepted a task to pick up rider 315 at aparticular location (e.g., the location where rider 315 is depicted). Aspart of the task, vehicle 310 may progress past several positions,including positions 310-1, 310-2, 310-3, and 310-4. User interface 350depicts an exemplary model that would be generated for display andoutput to rider 315, where the model would be oriented differently basedon what position vehicle 310 had reached when rider 315 accessed userinterface 350. User interface 350-1 corresponds to vehicle 310 atposition 310-1; user interface 350-2 corresponds to vehicle 310 atposition 310-2; user interface 350-3 corresponds to vehicle 310 atposition 310-3; user interface 350-4 corresponds to vehicle 310 atposition 310-4.

Relative to rider 315, at position 310-1, vehicle 310 is angled slightlyoff from a front profile view, as rider 315 would, assuming a clear lineof sight to vehicle 310, be able to see some of the left side of vehicle310, as well as the front profile of vehicle 310. Thus, in response todetecting that rider 315 has accessed the model, service 130 maygenerate for display user interface 350-1, showing a corresponding angleof the vehicle. Similarly, at position 310-2, vehicle 310 is facingrider 315 head-on, and thus, in response to detecting that rider 315 hasaccessed the model, service 130 may generate for display user interface350-2. This process continues similarly when rider 3135 accesses userinterface 350 when the vehicle is at position 310-3 or 310-4.

In some embodiments, the model remains static when the rider accessesuser interface 350, where the initial orientation of the model isselected based on the position of vehicle 310 at the time the useraccessed user interface 350. In such embodiments, the user may, using agesture, voice command, text command, or the like, command theapplication to rotate the orientation of the model to a position theuser prefers. In some embodiments, the application may rotate theorientation of the model as vehicle 310 progresses fromposition-to-position (or as rider 315 moves to a different location),thus maintaining the model at its current orientation relative to rider315. The application may output options to the user to employ standardimage manipulation techniques, such as pan operations, zoom operations,and the like, thus allowing the user to, e.g., zoom the view of themodel in or out.

Exemplary Driver-Facing Model Interface

FIG. 4 is an illustration of an exemplary user interface for an operatorof a vehicle, according to one embodiment. Model 450 includes the samefunctionality as described with respect to the model as described abovewith respect to FIGS. 1-3. Model 450 depicts where humans are seated atvarious positions. For example, driver 410, who is operating vehicle110, may be seated at position B. Rider 415 may be seated at position A.In an embodiment, model 450 is updated to reflect that rider 415 isseated at position A in response to receiving input from driver 410(e.g., a tap at position A) that indicates that rider 415 is seated atposition A. In an embodiment, service 130 detects that rider 415 isseated at position A based on near-field communication, a weight sensor,or other sensory means. Service 130 updates model 450 to reflect whererider 415, and other riders, are seated in order to help indicate topotential further riders who are to enter vehicle 110 where those ridersshould enter (e.g., a door adjacent to a vacant seat).

In a scenario where vehicle 110 is to pick up multiple riders, service130 may output model 450 to driver 410 (e.g., when vehicle 110 is not inmotion) to indicate where riders are seated, or where they are to beseated. Based on a configuration of model 450, service 130 may outputmodel 450 to additional riders so that the additional riders may selecta vacant seat and enter the vehicle where the seat is vacant.Additionally or alternatively, service 130 may select a seat for eachnext additional rider to be picked up, and may highlight or otherwiseaccentuate that position when outputting model 450 to the additionalrider. Alternatively or additionally, service 130 may transmitinstructions (e.g., textual or verbal instructions) instructing theadditional rider where to sit (e.g., instructions stating “please enterusing the driver-side passenger door to take your seat.”).

Process for Generating and Outputting Model

FIG. 5 is an illustrative flowchart of a process for outputting themodel for display, according to one embodiment. Process 500 may beexecuted, or instructed to be executed, by an application (e.g., aridesharing application residing on a client device of a rider and/or adriver), or by service 130. Process 500 will, for convenience, bedescribed with respect to service 130 below. Process 500 begins withservice 130 determining 500 that a driver (e.g., of vehicle 110) hasaccepted a task to operate a vehicle from a first location (e.g.,location 310-1) to a rider location (e.g., the location of rider 315).Service 130 then accesses 504 a model corresponding to the vehicle. Forexample, service 130 may retrieve a model from vehicle model database132. The model, as discussed above, may be a generic model, from which amore accurate model is generated 510 (e.g., by retrieving distinctivefeatures of vehicle 110 from entries of distinctive features database134, and applying those distinctive features to the generic model).Alternatively, the model, as discussed above, may be an accurate modelincluding the distinctive features, as retrieved from vehicle modeldatabase 132.

Service 130 goes on to determine 506 a direction of movement of thevehicle. The direction of movement may be measured absolutely (e.g., interms of north/south/east/west, based on feedback from a compass orglobal positioning system sensor of vehicle 110 or a client device of anoperator of vehicle 110) or relatively (e.g., with respect to rider115). For example, as depicted in FIG. 3., as vehicle 310 travels fromposition 310-1 to position 310-2, the direction of movement may bemeasured as “south,” or may alternatively be measured in terms ofrelative location with respect to rider 315.

Service 130 then determines 508 a relative orientation of the vehicle(e.g., vehicle 310) with respect to the rider (e.g., rider 315) based onthe first location (e.g., location 310-1), the direction of movement ofthe vehicle, and the rider location (e.g., the location of rider 315).For example, if vehicle 310-1 is determined by service 130 to betraveling due south from a particular location that is north and west ofthe rider (as depicted in FIG. 3 as vehicle 310 travels from location310-1 to location 310-2), service 130 may determine that the orientationof the vehicle, with respect to rider 315, is mostly front-facing, withsome of the left side of the car visible to the rider. In an embodiment,service 130 may determine the heading of the vehicle based on, e.g.,sensor readings such as a compass sensor, input from the driver, and/ora tracking of position from a last known location to a current location,and a calculation of heading from the tracked position movement.

In an embodiment, to determine the relative orientation of the vehicle,service 130 may determine, based on the location of the rider and thefirst location, a line of sight between the rider and the vehicle (e.g.,the line of sight illustrated between rider 315 and each of locations310-1, 310-2, 310-3, and 310-4). Service 130 may determine, based on thedirection of movement of vehicle 310, a portion of vehicle 310 thatwould be visible to the rider along the line of sight, and may determinethe relative orientation of the vehicle to be an orientation of thevehicle that enables the portion of the vehicle to be visible to therider at the line of sight (e.g., as depicted in user interfaces 350,and discussed above with reference to FIG. 3).

Based on the relative orientation obtained from determination 508,service 130 may generate for display 510, on a client device of therider (e.g., on user interface 350 of a client device of rider 315), themodel at an appropriate angle (e.g., the angle represented in userinterface 350-1). The user may thereafter rotate the model manually todifferent angle. Alternatively, or additionally, the model mayautomatically rotate as rider 315 and/or vehicle 310 move (e.g., basedon the line of sight discussion above), the object of the automaticrotation being to continually have the orientation of the car match aprofile of the car that is visible to the rider 315.

When generating the model itself (irrespective of orienting it at aparticular angle), as discussed above, service 130 may obtaininformation about the type of the vehicle (e.g., as indicated based oninput from an operator of vehicle 110), and may retrieve a generic modelcorresponding to the type (e.g., from vehicle model database 132).Service 130 may receive, from a client device of the driver, one or moreimages or videos of the vehicle (e.g., as discussed above with respectto FIG. 1), and may identify a distinctive feature from the image andmodify the generic model to include the distinctive feature.Interstitially, also discussed above, service 130 may store thedistinctive feature and a vector mapping the distinctive feature to aportion of the generic image, to distinctive feature database 134.

Additional Safety Features

The systems and methods discussed above can be further leveraged intoadditional safety features for rider 315. For example, in rarecoincidental scenarios, there may be multiple vehicles with similardistinctive features (or no distinctive features) in the vicinity ofrider 315, and thus rider 315 may have difficulty resolving which one ofthose vehicles has an operator who accepted the task.

In such scenarios, service 130 may receive an image taken by a camerasensor of the client device of the rider (e.g., where rider 315activates a camera sensor of his or her client device within the contextof the ridesharing application and captures an image (or video) of avehicle, and where the rider 315 requests verification that he or she isabout to enter the right vehicle). Service 130 may then determinewhether the image matches the model (e.g., by comparing the image (or aframe of the video) to the model. Service 130 may determine whether theimage matches the model (e.g., by identifying a matching distinctivefeature), and, in response to determining that the image matches themodel, service 130 may cause the client device of the rider to outputconfirmation indicia (e.g., a message noting that this is the correctvehicle). In response to determining that the image does not match themodel, service 130 may cause the client device of the rider to outputdenial indicia (e.g., a message noting that this is not the correctvehicle).

As yet another safety feature, in some environmental conditions it maybe difficult for a rider to identify the vehicle. For example, a vehiclemay look differently in daylight versus nighttime, or may look differentunder a street lamp or in snow, etc. In an embodiment, service 130 maydetermine indicia of an environmental condition. The term indicia of anenvironmental condition may refer to any information that reflects anenvironmental condition, such as indicia of whether it is day or night,whether it is cloudy, snowy, or rainy, indicia of whether a brightnightlight is shining at a vehicle, etc. Service 130 may determine thisindicia by retrieving it from a known source (e.g., a weather or timesource), or may determine it using sensors of vehicle 110 or othersensors in the vicinity of vehicle 110 (e.g., a camera or light sensorin vehicle 110 or located in the same city as vehicle 110 happens to bepassing through). Service 130 may then modify the displayed model basedon the environmental condition to show a better approximation of how thevehicle is likely to look in that environmental condition. Variousenvironmental conditions may have known templates stored in a database(e.g., vehicle model database 132), and service 130 may modify thedisplayed model based on instructions in a template corresponding to theindicated environmental condition.

As yet another safety feature, service 130 may cause an application(e.g., the ridesharing application) to accept feedback from the riderthat the vehicle does not match the model. In response to receiving suchfeedback, service 130 may command the application to prompt the rider tocapture an image of a person operating the vehicle. Service 130 mayreceive the image of the person operating the vehicle, and may cause theclient device of the rider (e.g., rider 115) to output indicia ofwhether the person driving the vehicle matches the driver who acceptedthe task. If the vehicle does not match the driver, service 130 may takefurther precautionary measures, such as de-activating the driver'ssubscription and/or prompting the driver to capture updated photos ofhis or her vehicle to reform a model. Service 130 may alert anadministrator to scrutinize whether the driver has fraudulentlyrepresented the vehicle that he or she is operating.

Computing Hardware

The entities shown in FIGS. 1-4 are implemented using one or morecomputers. FIG. 6 is a block diagram that illustrates a computer system600 for acting, e.g., as a client device (of an operator of vehicle 110or of rider 115, for example) or service 130, according to oneembodiment. Illustrated are at least one processor 602 coupled to achipset 604. Also coupled to the chipset 604 are a memory 606, a storagedevice 608, a keyboard 610, a graphics adapter 612, a pointing device614, and a network adapter 616. A display 618 is coupled to the graphicsadapter 612, and may be used, for example, to output user interface 350and/or user interface 450. In one embodiment, the functionality of thechipset 604 is provided by a memory controller hub 620 and an I/Ocontroller hub 622. In another embodiment, the memory 606 is coupleddirectly to the processor 602 instead of the chipset 604. A clientdevice is often referred to herein as a mobile device, but can be anydevice capable of executing a ridesharing application and/or renderingand displaying the model.

The storage device 608 is any non-transitory computer-readable storagemedium, such as a hard drive, compact disk read-only memory (CD-ROM),DVD, or a solid-state memory device. The memory 606 holds instructionsand data used by the processor 602. The pointing device 614 may be amouse, track ball, or other type of pointing device, and is used incombination with the keyboard 610 to input data into the computer system600. The graphics adapter 612 displays images and other information onthe display 618. The network adapter 616 couples the computer system 600to the network 120.

As is known in the art, a computer 600 can have different and/or othercomponents than those shown in FIG. 6. In addition, the computer 600 canlack certain illustrated components. For example, the computer acting asthe location determination service 130 can be formed of multiple bladeservers linked together into one or more distributed systems and lackcomponents such as keyboards and displays. Moreover, the storage device608 can be local and/or remote from the computer 600 (such as embodiedwithin a storage area network (SAN)).

Additional Considerations

The foregoing description of the embodiments of the invention has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the invention to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

The language used in the specification has been principally selected forreadability and instructional purposes, and it may not have beenselected to delineate or circumscribe the inventive subject matter. Itis therefore intended that the scope of the invention be limited not bythis detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsof the invention is intended to be illustrative, but not limiting, ofthe scope of the invention, which is set forth in the following claims.

What is claimed is:
 1. A computer-implemented method for providing amodel of a vehicle to a rider, the method comprising: determining that adriver has accepted a task to operate a vehicle from a first location toa rider location; accessing a model corresponding to the vehicle;determining a direction of movement of the vehicle; determining arelative orientation of the vehicle with respect to the rider based onthe first location, the direction of movement of the vehicle, and therider location; and generating for display, on a client device of therider, the model at a perspective angle with respect to the rider, theperspective angle determined based on the relative orientation.
 2. Thecomputer-implemented method of claim 1, further comprising generatingthe model by: receiving information about a type of the vehicle;retrieving a generic model corresponding to the type; receiving, from aclient device of the driver, an image of the vehicle; identifying adistinctive feature from the image; and modifying the generic model toinclude the distinctive feature.
 3. The computer-implemented method ofclaim 1, wherein determining the relative orientation comprises:determining, based on the location of the rider and the first location,a line of sight between the rider and the vehicle; determining, based onthe direction of movement of the vehicle, a portion of the vehicle thatwould be visible to the rider along the line of sight; and determiningthe relative orientation of the vehicle to be an orientation of thevehicle that enables the portion of the vehicle to be visible to therider at the line of sight.
 4. The computer-implemented method of claim3, wherein generating for display the model at the perspective angledetermined based on the relative orientation comprises: rotating themodel to an angle where a visible portion of the model matches theportion of the vehicle; and determining the perspective angle to be theperspective angle where the visible portion of the model matches theportion of the vehicle.
 5. The computer-implemented method of claim 1,further comprising: receiving an image taken by a camera sensor of theclient device of the rider; determining whether the image matches themodel; and in response to determining that the image matches the model,causing the client device of the rider to output confirmation indicia.6. The computer-implemented method of claim 1, further comprisingretrieving, from a database, indicia of an environmental condition,wherein generating for display the model at the perspective angledetermined based on the relative orientation comprises modifying themodel based on the environmental condition.
 7. The computer-implementedmethod of claim 1, further comprising: receiving feedback from the riderthat the vehicle does not match the model; in response to receiving thefeedback, prompting the rider to capture an image of a person operatingthe vehicle; receiving the image of the person driving the vehicle; andcausing the client device of the rider to output indicia of whether theperson driving the vehicle matches the driver who accepted the task. 8.The computer-implemented method of claim 1, further comprising:generating for display the model to the driver; and receiving input atthe client device of the driver indicating that a seat of the vehicle isoccupied, wherein generating for display, on the client device of therider, the model at the perspective angle determined based on therelative orientation comprises including indicia within the model thatthe seat is occupied.
 9. A non-transitory computer-readable storagemedium storing computer program instructions for providing a model of avehicle to a rider, the instructions, when executed by at least oneprocessing device, cause the at least one processing device to:determine that a driver has accepted a task to operate a vehicle from afirst location to a rider location; access a model corresponding to thevehicle; determine a direction of movement of the vehicle; determine arelative orientation of the vehicle with respect to the rider based onthe first location, the direction of movement of the vehicle, and therider location; and generate for display, on a client device of therider, the model at a perspective angle with respect to the rider, theperspective angle determined based on the relative orientation.
 10. Thenon-transitory computer-readable storage medium of claim 9, wherein theinstructions further cause the at least one processing device togenerate the model by: receiving information about a type of thevehicle; retrieving a generic model corresponding to the type;receiving, from a client device of the driver, an image of the vehicle;identifying a distinctive feature from the image; and modifying thegeneric model to include the distinctive feature.
 11. The non-transitorycomputer-readable storage medium of claim 9, wherein the instructions todetermine the relative orientation comprise instructions that cause theat least one processing device to: determine, based on the location ofthe rider and the first location, a line of sight between the rider andthe vehicle; determine, based on the direction of movement of thevehicle, a portion of the vehicle that would be visible to the rideralong the line of sight; and determine the relative orientation of thevehicle to be an orientation of the vehicle that enables the portion ofthe vehicle to be visible to the rider at the line of sight.
 12. Thenon-transitory computer-readable storage medium of claim 11, wherein theinstructions to generate for display the model at the perspective angledetermined based on the relative orientation comprise instructions thatcause the at least one processing device to: rotate the model to anangle where a visible portion of the model matches the portion of thevehicle; and determine the perspective angle to be the perspective anglewhere the visible portion of the model matches the portion of thevehicle.
 13. The non-transitory computer-readable storage medium ofclaim 9, wherein the computer readable instructions further compriseinstructions that cause the at least one processing device to: receivean image taken by a camera sensor of the client device of the rider;determine whether the image matches the model; and in response todetermining that the image matches the model, cause the client device ofthe rider to output confirmation indicia.
 14. The non-transitorycomputer-readable storage medium of claim 9, wherein the computerreadable instructions further comprise instructions that cause the atleast one processing device to retrieve, from a database, indicia of anenvironmental condition, wherein the instructions to generate fordisplay the model at the perspective angle determined based on therelative orientation comprise instructions to modify the model based onthe environmental condition.
 15. The non-transitory computer-readablestorage medium of claim 9, wherein the computer readable instructionsfurther comprise instructions that cause the at least one processingdevice to: receive feedback from the rider that the vehicle does notmatch the model; in response to receiving the feedback, prompt the riderto capture an image of a person operating the vehicle; receive the imageof the person driving the vehicle; and cause the client device of therider to output indicia of whether the person driving the vehiclematches the driver who accepted the task.
 16. A system, comprising: aprocessor for executing computer program instructions; and anon-transitory computer-readable storage medium storing computer programinstructions executable by the processor to perform operations forproviding a model of a vehicle to a rider, the operations comprising:determining that a driver has accepted a task to operate a vehicle froma first location to a rider location; accessing a model corresponding tothe vehicle; determining a direction of movement of the vehicle;determining a relative orientation of the vehicle with respect to therider based on the first location, the direction of movement of thevehicle, and the rider location; and generating for display, on a clientdevice of the rider, the model at a perspective angle with respect tothe rider, the perspective angle determined based on the relativeorientation.
 17. The system of claim 16, further comprising generatingthe model by: receiving information about a type of the vehicle;retrieving a generic model corresponding to the type; receiving, from aclient device of the driver, an image of the vehicle; identifying adistinctive feature from the image; and modifying the generic model toinclude the distinctive feature.
 18. The system of claim 16, whereindetermining the relative orientation comprises: determining, based onthe location of the rider and the first location, a line of sightbetween the rider and the vehicle; determining, based on the directionof movement of the vehicle, a portion of the vehicle that would bevisible to the rider along the line of sight; and determining therelative orientation of the vehicle to be an orientation of the vehiclethat enables the portion of the vehicle to be visible to the rider atthe line of sight.
 19. The system of claim 18, wherein generating fordisplay the model at the perspective angle determined based on therelative orientation comprises: rotating the model to an angle where avisible portion of the model matches the portion of the vehicle; anddetermining the perspective angle to be the perspective angle where thevisible portion of the model matches the portion of the vehicle.
 20. Thesystem of claim 16, wherein the operations further comprise: receivingan image taken by a camera sensor of the client device of the rider;determining whether the image matches the model; and in response todetermining that the image matches the model, causing the client deviceof the rider to output confirmation indicia.